Introduction
Now that you know how to manipulate views, you are ready to start manipulating the objects shown in those views.  For each 3D object, you have control over its location, dimensions, clipping, and orientation. Object appearance can also be modified by changing color or applying textures. Also, objects can be made to appear dull, glinty, mirrored, or prismatic by modifying the way in which light interacts with them. With a bit of practice, these features will allow you to render images which exhibit a variety of really cool visual effects.

Creating/Deleting Objects
Objects can be created either from scratch or from objects which already exist. Objects are created from scratch using the menu items "Design -> New Object-> [object type]". For an explanation of how these various objects are defined, refer to the chapter "Object Descriptions". The default characteristics (color, location, orientation, dimensions, etc) of the newly created object will be the same as the existing object most recently selected by clicking on it.  This is very important to know, so I will repeat it in magenta: The default characteristics (color, location, orientation, dimensions, etc) of any newly created object will be the same as the existing object most recently selected by clicking on it. After the object is created, these characteristics can then be modified using the methods described later in this chapter.

The only exception to the above rule is in the creation of "object groups".  They inherit all the characteristics except dimensions, since all dimensions are specified by you when you create the group.  Refer to the "Object Descriptions" chapter for more information about groups.

Another method of creating objects (and deleting them) is by using the clipboard related functions in the Edit Menu. These menu items work as they would in any standard Macintosh application, with one exception: Since other applications cannot manipulate 3D RenderBoy objects, it is not possible to copy/paste them between RenderBoy and other applications.  Who knows, maybe someday there will be a QuickDraw-3D interface, but not yet.  So for now, please just refer to the "Menu Functions" chapter for an explanation of the Edit Menu.  Thanks :-)

The third method of creating objects is by using some of the functions of the "Tools" menu. This menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. If you hold down the shift-key while using any of these object manipulation tools, the selected objects will be duplicated and modified rather than simply modified.  So, say you are using the translate tool to move an object.  If you don't use the shift key, it just moves the object.  If you do use the shift key, it immediately creates a duplicate of the object and moves that one instead.  Please refer to the "Menu Functions" chapter for a more complete explanation of how to use these tools.

Selecting Objects
Before you can change the characteristics of an object, you first need to select it.  This is how you tell RenderBoy which objects you want to change. Objects can be selected in one of two ways. One method is to choose "Select All" from the edit menu, which will select all objects in the current design, even if they are not currently visible in any view. The second method is to use the selection tool available under the "Tools" menu. The selection tool works pretty much like the selection tool in any other Mac application, but you might want to refer to the "Menu Functions" chapter for a complete explanation of how to use it.

Modifying Object Dimensions
You can directly modify object dimension using the dialog box opened by the menu item "Design -> Edit Object -> Dimensions...".  This dialog is shown below. 

The edit text values which are initially in the dialog will be those of the 3D object most recently selected with a click of the mouse.

Since RenderBoy's 3D objects are each fairly simple, each can be defined with three (or fewer) dimensions.  For example, a block has a length, width, and height, while a sphere just has an inner and outer diameter. For a complete explanation of how the various 3D objects are dimensioned, refer to the chapter "Object Descriptions".

To change your object dimensions, first select the object(s) you want to change. Then just key in the new dimension(s) for the object(s), and select "Apply". Note that each dimension value has a checkbox next to it which indicates whether that dimension should be modified. Unless you change them, these will be automatically checked to represent the dimensions that define the objects which you have selected. If the "scale" checkbox is set, then the checked dimensions will also be scaled by the specified percentage. That's all there is to it. 

The "Apply" button will set the dimension of a selected object to the specified (possibly scaled) edit text values only when both of the following conditions are true: (i) the dimension's checkbox is checked, and (ii) the geometry of the object is defined by the checked dimension. Since the appropriate checkboxes are always pre-checked by default, the checkboxes only need to be (un)checked when you wish to change a subset of the dimensions in the current selection. You will find this capability really useful when you want to make controlled global changes to many selected objects at one time.

Another method of modifying the dimensions of objects is with the tools available under the "Tools" menu. This menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.

Modifying Object Location
One way you can change an object's location is using the following dialog box opened by the menu item "Design -> Edit Object -> Location...":

To use this dialog, first select the object(s) to be moved. The "Front View", "Side View", and "Top View" radio buttons specify the view in which to define the move in. The edit text values specify the horizontal and vertical offset amount, where positive values represent movement to the right and up, respectively. These values are in the same units as the object dimensions. The "Copy" and "Move" radio buttons are used to specify whether to move the selected objects or to copy (duplicate and move) them. Each time you select the "Apply" button, all selected objects will be offset by the specified amount(s) in the specified view.

Another method of modifying the location of an object is with the menu item "Design -> Snap To Grid", which will align the center of each selected object to the nearest absolute location which is a whole number multiple of the "grid snap size". For example, if the grid snap size were 50, the objects could be moved to -100, -50, 0, 50, 100, 150, etc.  This will happen in the front, side, and top views simultaneously. The snap grid dialog available under the menu item "Design->Grid Snap Size..." can be used to modify the grid snap size.

Another way to change the location of objects is with the tools available under the "Tools" menu. As mentioned earlier, this menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.

The final method of moving objects is with the keyboard arrow keys.  When the cursor is in the front, side, or top view of the design window, the arrow keys will move the selected objects in that view.  You don't need to click the view, just have the cursor within the view when you press the arrow keys.  Each time you press the key, the object will be moved ten times the current snap grid size.  Holding down the OPTION key while using the arrows will move the selected objects by one snap grid size.  This method is useful when you need to fine-adjust the positions of objects.

Modifying Object Orientation
One method of modifying object orientation is with the tools which are available under the "Tools" menu, one of which is designed to change object orientation. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.

You can also modify object orientation with the following dialog box opened by the menu item "Design -> Edit Object -> Orientation...":

To use this dialog, select the objects whose orientation should be changed.  Modify the desired object orientation angle(s) in the edit text fields, then select "Apply". The orientation angles initially in the dialog will correspond to the object most recently selected with a single mouse click.  Note that this dialog serves a slightly different purpose than the "orientation tool" which was previously mentioned.  This dialog orients each individual object about its center point, however the orientation tool is used to orient one or more selected objects about an arbitrary point. In either case though, the object orientations are always applied to the front view, then the side view, and then the top view, regardless of the order in which they were specified.

Modifying Object Clipping
"Clipping" refers to the ability to cut an object into a smaller piece using an imaginary plane going through its center. For example, a sphere can be clipped to form a hemisphere. The one  and only way of modifying object clipping is with the dialog box opened by the menu item "Design -> Edit Object -> Clipping...".  This dialog is shown below.

To use this dialog, select the objects whose clipping should be changed. The clipping settings initially in the dialog will correspond to the object most recently selected with a single mouse click.  Modify the object clipping options as desired, then select "Apply". Each object can be independently clipped in each of the front, side, and top views. In each view's direction, you can either clip nothing, clip the near half of the object, or clip the far half of the object. Note that these references correspond to an object which is oriented at zero degrees in each view. If an object's orientation is changed, the clipping planes (as you would expect) move with it. 

Modifying Object Color
The menu item "Design -> Edit Object -> Color..." will open the standard Macintosh color-wheel dialog so you can specify the surface color of the selected objects. The color which is initially in the dialog will be that of the object most recently selected with a single mouse click. Each object can be independently set to any color by using this dialog.

Modifying Object Surfaces
Objects can appear to be dull, shiny, mirrored, etc depending on how light interacts with their surfaces. These characteristics can be modified using the dialog opened by the menu item "Design -> Edit Object -> Surfaces...", shown below.

To use this dialog, select the objects whose surface properties should be changed. Specify the desired edit text values, then select "OK" to accept the modifications or "Cancel" to abort them. The values which are initially in the dialog will be those of the object most recently selected with a single mouse click. 

All objects within RenderBoy interact with light. When light strikes the surface of an object, a certain percentage of it will diffuse (fly off in every direction), which is what allows you to see the surface of the object. A certain percentage of the light will reflect off the surface and continue on, as light does when it bounces off a mirror. The remainder of the light will refract through the object, just as light refracts through glass or crystal. The edit text values "% Refracted", "% Diffused", and "% Reflected" specify how the light is distributed among these three alternatives. If the percent diffused is close to 100%, then you will mainly see the surface of the object. If the percent reflected is close to 100%, then the object will reflect the objects around it like a mirror. If the percent refracted is close to 100%, then the light will refract through the object as if it were made of glass. RenderBoy lets you specify these three percentages individually for each object any way you want. The only limitations are that each percentage must be between 0% and 100%, and the sum of the three percentages must be 100%. 

In nature, most real objects exhibit a certain amount of shininess caused by spectral reflections. Spectral reflections can be seen as glinty spots on an object caused by the reflection of light sources. The "% Shininess" edit text value, which must be between 0% and 100%, lets you control object shininess. If the percent shininess is close to 0%, then the object will appear dull like plaster. If the percent shininess is close to 100%, then the object will appear very glinty, like a ceramic. With real physical objects, it is generally the case that objects which are very reflective or refractive are also very shiny. However, since you have complete control over the parameters, you can make the objects behave any way you wish.

As a shortcut to entering these percentages manually, you can click any of the seven pictures on the left side of the dialog.  This will set the percentages to common preset values suitable for creating standard affects like dull, glossy, or mirrored surfaces.  If you set the surfaces to refract light (that is, the "% Refracted" is greater than zero), then the "Index of Refraction" buttons can be used to specify how much the light should refract, or bend, as it passes though the object.  If you specify "Air", then the light will not refract at all but travel straight through the object making it look transparent.

Modifying Object Behavior
The menu item "Design -> Edit Object -> Behavior" will open the following dialog, which lets you specify the behavior of both light source objects and regular objects. The initial values and settings of the dialog will correspond to the object most recently selected with a single mouse click.

The top half of this dialog controls the behavior of light source objects. The "Brightness Intensity %" edit text value, which must be between 0% and 100%, controls the intensity of light source objects. If the value is close to 100%, then the light source will be very strong, and if the value is close to 0%, then the light source will be very weak.  The "Can generate shadows on objects" checkbox controls whether a light source generates the illumination necessary to cause shadows. The "Surrounded by a radiant glow" checkbox controls whether light can be seen radiating away from the light source.

 As you would expect, strong light sources cast more light on the objects around them. As a result, they create stronger shadows and glinty spots, as well as more illumination.  They will also have a more pronounced radiant glow if this feature is checked. These settings let you achieve a variety of cool lighting effects on the objects in your design.

The bottom half of this dialog controls the behavior of regular objects (non-lights).  The "Cast shadows on other objects" checkbox controls whether an objects can cast a shadow upon other objects around it.  This is useful for objects which might not generate a shadow, such as glass in a window.  Also, turning off un-seen shadows can speed up the rendering time.  The "Appear bright like a light" checkbox can make a regular object's surface appear bright like a light, as if it is a source of illumination.  Note that this only affects the appearance of the object, it doesn't generate any light which affects the objects around it.

Modifying Object Texture
The menu item "Design -> Edit Object -> Textures" will open the following dialog, which lets you specify which textures are applied to the selected objects and how. The initial values and settings of the dialog will correspond to the object most recently selected with a single mouse click.

This dialog actually performs two separate functions. The left side is used to maintain a list of textures to choose from. The right side lets you define how to apply the textures in the list to the currently selected object(s). 

You can use any "PICT" file as a texture to be applied to an object. The "Open..." button will display the standard file selection dialog so you can select a PICT file to add to the texture list. The "Close" button will close the currently displayed texture in the list. The "<--Prev" and "Next-->" buttons traverse the list of textures, so that you can select the one you want to apply. This list is always maintained in alphabetical order. Below the texture display, there is information about the texture: the size (in pixels) of the displayed texture, the current location in the texture list, the name of the texture, and the amount of free memory. If the "Texture" radio button is checked, then the currently displayed texture will be applied to the selected object(s). If the "No Texture" radio button is checked, then none of the textures in the list will be applied to the currently selected objects, nor will they be displayed in the dialog.

When a texture is applied to an object, it is actually projected onto the object from a specific direction. You can imagine that the texture is being displayed on the object with a movie projector. Note that the way in which a texture is projected is specific to the selected object(s), not to the texture. Thus, the same texture could be projected onto ten different objects in ten different ways. The "TEXTURE PLACEMENT" part of the dialog contains four edit text values which control the size and location of the applied texture. All of these values are in the same units as the object dimensions. If the horizontal and vertical offsets are zero, then the center of the displayed texture will be aligned with the center of the object. If you wish to specify horizontal and vertical offsets, positive values represent texture offsets to the right and up, respectively. 

The "TEXTURE PROJECTION" portion  of the dialog controls the direction from which the texture is projected onto the object. To project the texture along the front view, side view, top view, or eye view, just check the "Front", "Side", "Top", or "Eye" radio buttons, respectively. If you want to specify some other direction, check "Other". You will then be allowed to enter two angles, which specify the projection direction. These two angles define the direction in the same way they define the direction of the eye view or the directed background light. Refer to the chapter "Image Preparation" for a description of how this works.  Now you know how to position a texture on an object.

With the texture correctly positioned, there are still a couple more things you can change. If you set the "Repeat Texture As A Pattern" checkbox, then the texture will be duplicated to cover the entire object. This can be used to create a pattern effect, like tiles on a floor. The "Flip Horizontal" checkbox will make the texture flip horizontally when projected, as if you were looking at it in a mirror. The "Flip Vertical" checkbox will make the image flip vertically, so that it will be projected upside down. The "Tint Texture With Object Color" checkbox will tint the texture with the color of the object it is projected onto. When tinted, black portions of the texture will still appear black, but white portions of the texture will be the color of the object (instead of white). Other colors within the texture will be tinted accordingly. If the texture is not tinted, it will appear exactly as shown, regardless of the object's color.

Note that when you modify the texture list, these changes take place immediately. Although the "Cancel" button will let you abort changes made to how a texture is applied to the selected object(s), it will not let you cancel modifications made to the texture list.

Object Manipulation Exercises
Launch RenderBoy and let it create a new untitled design document. Create a few new objects by selecting one of the items under "New Object" from the "Design" menu. Practice using the translate, scale, rotate, orient, horizontal mirror, and vertical miror tools available under the tools menu. You should reference the "Menu Functions" chapter for an explanation of how to use these tools.

Once you feel comfortable using the tools to manipulate objects, try using the dialog boxes under the menu "Design -> Edit Object ->" to manipulate the currently selected objects. Specifically, try manipulating the selected object dimensions, orientation, clipping, and color. You may also experiment with the object surface, behavior, and texture dialogs, but these modifications will not be obvious until an image is rendered, and that's a couple chapters away yet.

Once you feel comfortable with the techniques described in this chapter, you may want to try creating a simple design. For example, you might want to try creating some of the letters of the alphabet. Or if you have some other idea which interests you, go for it.  Your time won't be wasted. You can use this design in the next three chapters as you learn how to create photo-realistic rendered images.